package com.my.ph.entity.media;

import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.my.ph.enums.MediaTypeEnum;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.List;

@Data
@Accessors(chain = true)
public class TVMovie {

    // 成人标识
    private boolean adult;
    // 背景路径
    private String backdropPath;
    // 分类
    private List<Integer> genreIds;
    // 媒体id
    private long id;
    // 原语言
    private String originalLanguage;
    // 原产国
    private List<String> originCountry;
    // 原名称
    private String originalTitle;
    // 原名称 TV
    private String originalName;
    // 概述
    private String overview;
    // 人气
    private double popularity;
    // 海报路径
    private String posterPath;
    // 首次播出日期 TV
    private String firstAirDate;
    // 首次播出日期
    private String releaseDate;
    private String year;
    // 名称
    private String title;
    // 名称 TV
    private String name;
    // 评分
    private double voteAverage;
    // 不知道，不重要
    private int voteCount;
    // 媒体标签 电影或TV
    private String mediaType;

    public String getTitle() {
        return StrUtil.equals(mediaType, MediaTypeEnum.TV.getValue()) ? name : title;
    }

    public String getOriginalTitle() {
        return StrUtil.equals(mediaType, MediaTypeEnum.TV.getValue()) ? originalName : originalTitle;
    }

    public Integer getYear() {
        String yearDate = StrUtil.equals(mediaType, MediaTypeEnum.TV.getValue()) ? firstAirDate : releaseDate;
        return StrUtil.isBlank(yearDate) ? null : DateUtil.year(DateUtil.parse(yearDate, "yyyy-MM-dd"));
    }

}
